2-6 情景三:常见多人协同冲突处理办法(带GUI操作)
什么是合并冲突
当两个开发者同时修改了同一个文件的同一位置,Git 无法自动决定保留哪个版本,就会产生合并冲突。
<<<<<<< HEAD
你的修改内容
=======
同事的修改内容
>>>>>>> feature/other-branch
text
冲突处理方法
命令行处理
# 拉取最新代码时发现冲突
git pull origin main
# Auto-merging src/App.vue
# CONFLICT (content): Merge conflict in src/App.vue
# 手动编辑冲突文件,选择保留的内容
# 然后标记冲突已解决
git add src/App.vue
git commit -m "fix: resolve merge conflict in App.vue"
bash
VSCode 处理(推荐)
VSCode 提供了直观的冲突解决界面:
- 打开有冲突的文件,会看到
Current Change(你的修改)和Incoming Change(对方的修改) - 点击上方工具栏的选项:
- Accept Current Change:保留你的修改
- Accept Incoming Change:保留对方的修改
- Accept Both Changes:两者都保留
- Compare Changes:并排对比后手动编辑
- 保存文件后,点击源代码管理面板中的 "+" 标记冲突已解决
冲突预防策略
| 策略 | 做法 |
|---|---|
| 频繁拉取 | 每天开始工作前 git pull |
| 小粒度提交 | 每完成一个小功能就提交 |
| 沟通协调 | 团队成员避免同时修改同一文件 |
| 分层架构 | 通过模块划分减少文件冲突概率 |
参考资源
↑